package org.jeecg.modules.ParameterModule.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.ParameterModule.entity.*;

import java.util.List;

public interface LocationService extends IService<LocationInfo> {
    /**
     * 分页查询仓库
     */
    IPage<WarehouseInfo> query_WarehousePageList(Page<WarehouseInfo> page, String queryName, String queryCode);
    /**
     * 增加仓库
     */
    int add_warehouse(WarehouseInfo datainfo);
    /**
     * 编辑仓库
     */
    int update_warehouse(WarehouseInfo datainfo);
    /**
     * 删除仓库
     */
    int delete_warehouse(String id);
    /**
     * 根据id查询仓库
     */
    WarehouseInfo query_warehouseById(String id);
    /**
     * 查询所有仓库
     */
    List<WarehouseInfo> query_allwarehouse();

    /**
     * 分页查询库区
     */
    IPage<ReservoirInfo> query_ReservoirPageList(Page<ReservoirInfo> page,String topId,String queryName, String queryCode);
    /**
     * 增加库区
     */
    int add_Reservoir(ReservoirInfo datainfo);
    /**
     * 编辑库区
     */
    int update_Reservoir(ReservoirInfo datainfo);
    /**
     * 删除/启用库区
     */
    int delete_Reservoir(String id,String status);
    /**
     * 根据id查询库区
     */
    ReservoirInfo query_ReservoirInfoById(String id);


    /**
     * 分页查询货架
     */
    IPage<ShelvesInfo> query_shelvesPageList(Page<ShelvesInfo> page,String topId,String queryName, String queryCode);
    /**
     * 增加货架
     */
    int add_shelves(ShelvesInfo datainfo);
    /**
     * 编辑货架
     */
    int update_shelves(ShelvesInfo datainfo);
    /**
     * 删除/启用货架
     */
    int delete_shelves(String id,String status);
    /**
     * 根据id查询货架
     */
    ShelvesInfo query_shelvesInfoById(String id);


    /**
     * 分页查询库位
     */
    IPage<LocationInfo> query_LocationPageList(Page<LocationInfo> page,String topId,String queryName, String queryCode);
    /**
     * 增加库位
     */
    int add_Location(LocationInfo datainfo);
    /**
     * 编辑库位
     */
    int update_Location(LocationInfo datainfo);
    /**
     * 删除/启用库位
     */
    int delete_Location(String id,String status);
    /**
     * 根据id查询库位
     */
    LocationInfo query_LocationInfoById(String id);

    /**
     * 根据货架id统计下面所有的库位
     */
    int count_shelves_location(String top_id);
}
